﻿// 703 数对统计2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <deque>


using namespace std;
/*
http://oj.daimayuan.top/course/7/problem/522
给你 n个数字 a1,a2,…,an，这些数字各不相同。询问共有多少对数字 (i,j)
 (1≤i<j≤n)，满足 ai到 aj中没有数字比 ai或 aj大。 
 即对所有位置 k(i<k<j)，满足 ak<min(ai,aj)。

输入格式
第一行一个整数 n。

接下来一行 n个整数 a1,a2,…,an。

输出格式
输出一行一个整数，表示答案。

样例输入
5
2 5 4 6 3
样例输出
5
样例解释
符合要求的数对有 (1,2),(2,3),(2,4),(3,4),(4,5)。

数据规模
对于 100%
 的数据，保证 1≤n≤2×105,1≤ai≤109。
*/

const int N = 200010;
int arr[N];
int n;
deque<int> q;


int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++) cin >> arr[i];
	int ans = 0;
	for (int i = 1; i <= n; i++) {
		while (!q.empty() && arr[q.back()] < arr[i]) { q.pop_back(); ans++; }
		if (!q.empty()) ans++;
		q.push_back(i);
	}

	cout << ans << endl;


	return 0;
}

 